package com.ztesoft.book.core.sys.sysuserrole.service;

import com.ztesoft.book.core.base.base.service.BaseExService;
import com.ztesoft.book.core.sys.sysuserrole.dto.SysUserRoleDTO;
import com.ztesoft.book.core.sys.sysuserrole.qo.SysUserRoleQO;

import java.util.List;
import java.util.Set;


/**
 * @Description 用户与角色对应关系
 * @Author YangFan
 * @Date 2021-06-22 17:32
 */
public interface SysUserRoleService extends BaseExService<SysUserRoleDTO, SysUserRoleQO> {


    /**
     * 根据人员id列表获取拥有的权限
     *
     * @param userIdSet
     * @return
     */
    List<SysUserRoleDTO> getListByUserIds(Set<String> userIdSet);

    /**
     * 新增用户权限
     *
     * @param userId
     * @param roleIdList
     */
    void save(String userId, List<String> roleIdList);

    /**
     * 根据用户删除权限。
     *
     * @param userId
     */
    void deleteByUserId(String userId);

    /**
     * 获取权限列表
     *
     * @param userId
     * @return
     */
    List<String> getRoleIdListByUserId(String userId);

    /**
     * 统计角色现有用户数
     *
     * @param roleId roleId
     * @return
     */
    int countRoleUser(String roleId);
}
